'\"
.\" Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
.\" Copyright 2014 Garrett D'Amore
.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
.\" Copyright 1989 AT&T
.\"
.\" The contents of this file are subject to the terms of the
.\" Common Development and Distribution License (the "License").
.\" You may not use this file except in compliance with the License.
.\"
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
.\" or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions
.\" and limitations under the License.
.\"
.\" When distributing Covered Code, include this CDDL HEADER in each
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
.\" If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying
.\" information: Portions Copyright [yyyy] [name of copyright owner]
.\"
.Dd November 7, 2021
.Dt INIT 5
.Os
.Sh NAME
.Nm init ,
.Nm TIMEZONE
.Nd set default system time zone and locale
.Sh SYNOPSIS
.Pa /etc/default/init
.Pp
.Pa /etc/TIMEZONE
.Sh DESCRIPTION
This file sets the time zone environment variable
.Ev TZ ,
and the locale-related environment variables
.Ev LANG ,
.Ev LC_COLLATE ,
.Ev LC_CTYPE ,
.Ev LC_MESSAGES ,
.Ev LC_MONETARY ,
.Ev LC_NUMERIC
and
.Ev LC_TIME .
.Pp
It can also be used to set any additional environment variables which should be
present in all processes started by
.Xr init 8
or
.Xr svc.startd 8 ,
and in any
.Xr zoneadmd 8
daemons started automatically to support zone operations.
.Pp
The format of the file is a set of tokens of the form:
.Pp
.Dl Ar VAR Ns No \&= Ns Ar value
.Pp
where
.Ar VAR
is an environment variable and
.Ar value
is the value assigned to the variable.
.Ar value
can be enclosed in double quotes
.Pq \&"
or single quotes
.Pq \&' ,
however, these quotes cannot be part of the value.
Neither
.Ar VAR
nor
.Ar value
may contain whitespace.
Multiple
.Ar VAR Ns No \&= Ns Ar value
pairs can occur on the same line, separated by whitespace or a semicolon
.Pq \&; ,
but, for compatibility with existing software, the
.Ev TZ
variable
.Em must
appear on its own line with no leading whitespace.
Comments are supported; each comment must be on its own line and begin with a
hash
.Pq #
character.
.Pp
If the
.Ev CMASK
variable is specified, it is not passed to the environment but the value is
used to set the initial umask that
.Xr init 8
uses and that every other process inherits.
The
.Ev CMASK
value is specified in octal and must be between 000 and 077 to be accepted; the
value is silently ignored otherwise.
If the value is missing or cannot be parsed as an octal number, then a value
of 0 is assumed.
A sequence of valid octal digits followed by other trailing characters will be
treated as if the trailing characters were not present.
.Pp
For
.Xr init 8 ,
the number of environment variables that can be set is limited to 20.
.Pp
.Pa /etc/TIMEZONE
is a symbolic link to
.Pa /etc/default/init .
This link exists for compatibility with legacy software, is obsolete, and may
be removed in a future release.
.Sh SEE ALSO
.Xr ctime 3C ,
.Xr environ 7 ,
.Xr init 8 ,
.Xr rtc 8 ,
.Xr svc.startd 8 ,
.Xr zoneadmd 8
.Sh NOTES
When changing the
.Ev TZ
setting on x86 systems, you must make a corresponding change to the
.Pa /etc/rtc_config
file to account for the new timezone setting.
This can be accomplished by executing the following commands, followed by a
reboot, to make the changes take effect:
.Bd -literal -offset indent
# rtc -z zone-name
# rtc -c
.Ed
.Pp
where
.Ar zone-name
is the same name as the
.Ev TZ
variable setting.
.Pp
See
.Xr rtc 8
for more information.
